package naga.x.game.template.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import naga.x.game.template.Template;

/**
 * 标注某个字段为另一个Template
 * @author yang.li
 *
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.FIELD, ElementType.METHOD })
public @interface Binding {
	
	/**
	 * 关联的Template类型
	 * @return
	 */
	Class<? extends Template> type();
	
	/**
	 * 关联的字段
	 * @return
	 */
	String field();
	
	/**
	 * 关联的另一个template的字段(相当于外键)
	 * @return
	 */
	String ref();
	
}
